/************************************************************************

								Heroes IV
					  Copyright 2002, The 3DO Company

	------------------------------------------------------------------
  					 combat_action_message.h

	$Header:  $

	$NoKeywords: $

 ************************************************************************/

#if !defined( COMBAT_ACTION_MESSAGE_H_INCLUDED )
#define COMBAT_ACTION_MESSAGE_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif

#include <string>

#include "combat_action_message_priority.h"
#include "combat_creature_ptr.h"

// ----------------------------------------------------------------------
// A message someone wants to display on the combat window's action
// display
// ----------------------------------------------------------------------
class t_combat_action_message
{
	public:
		t_combat_action_message();
		t_combat_action_message( t_combat_creature const & creature, 
								 std::string const & text, 
								 t_combat_action_message_priority priority = k_combat_action_message_priority_normal );

		void								clear();
		t_combat_creature const *			get_creature() const;
		std::string const &					get_text() const;
		t_combat_action_message_priority	get_priority() const;
		bool								is_displayable() const;
		void								set_creature( t_combat_creature const & creature );
		void								set_text( std::string const & text );
		void								set_priority( t_combat_action_message_priority priority );

	private:
		t_combat_creature_const_ptr			m_creature;
		std::string							m_text;
		t_combat_action_message_priority	m_priority;
};

#endif // COMBAT_ACTION_MESSAGE_H_INCLUDED
